#ifndef WAVELET_H
#define WAVELET_H

class Wavelet
{
public:
    Wavelet(int h = 0, int w = 0, int l = 1);
    ~Wavelet();
    void transform(float *data);

private:
    int height, width, level;

    void DWT(float *line);
    void suband(float *line, int start, int end);
    void convolution(float *line, float *coe, int start, int end);
    void downSample(float *line, int start);
    void imgCopy(float *src, float *dst, int w);
    void imgReturn(float *src, float *dst, int w);
    void transpose(float *line);

};

#endif // WAVELET_H
